package com.sinosoft.hydra.um.repositories;


import java.util.List;
import java.util.Set;

import cn.com.sinux.spring.repositories.IBaseRepository;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;

import com.sinosoft.hydra.um.domain.permission.SysUserMember;

/**
 * @author liangminga
 * @since 0.5-alpha
 * 2014年12月17日
 * 描述：进行用户的增删查改等操作。验证增加用户时用户名称重复，编辑用户时用户名称重复的功能。
 */
public interface SysUserRepository extends IBaseRepository<SysUserMember, String> {

    /**
     * 禁用用户
     *
     * @param li 用户主键集
     */
    @Query("update SysUserMember  set available = 0 where id in (?1)")
    @Modifying
    public void disabled(List<String> li);

    /**
     * 获取所有用户的id
     *
     */
    @Query("select u.id from SysUserMember u")
    @Modifying
    public Set<String> findAllId();

    /**
     * 启用用户
     *
     * @param li 用户主键集
     */
    @Query("update SysUserMember  set available = 1 where id in (?1)")
    @Modifying
    public void enable(List<String> li);
}
